
// TS 定义接口 以关键字 interface 进行描述
/*
    interface 接口名 {
        接口属性:类型;  // 接口属性只能定义声明，不能完成赋值
        接口方法();  // 接口中的方法不能定义方法体，只能定义方法声明
    }
*/
interface A {
    name:string;

    show():void;
}
/*
    接口限定了类定义时的属性和方法描述
    类实现接口时，必须实现接口的属性和方法

*/
// implements 描述了 B类必须 满足 A接口的所有规则
class B implements A{
    name:string = "aa";
    show(){
        console.log("show方法")
    }
}

class C implements A{
    name: string;    
    show(): void {
        throw new Error("Method not implemented.");
    }
    
    constructor(name:string){
        this.name = name;
    }
    
}